package content

import (
	"github.com/gin-gonic/gin"
	"net/http"
	"woo-server/controllers"
	"woo-server/services/content"
)

// @tags 内容管理
// @summary 后台上传管理
// @Description 后台文件分组全部列表
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /api/Menu/List [get]
func AllFileGroupList(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "GetAllFileGroupList")

	// 生成登录态
	Service := content.NewFileGroupService(com)
	result := Service.GetAllFileGroupList(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 内容管理
// @summary 后台上传管理
// @Description 后台上传文件列表
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /api/Menu/List [get]
func FileGroupList(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "GetFileGroupList")

	// 生成登录态
	Service := content.NewFileGroupService(com)
	result := Service.GetFileGroupList(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 内容管理
// @summary 后台上传管理
// @Description 后台新增文件分组
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /api/Menu/List [get]
func AddFileGroup(c *gin.Context) {
	com := controllers.NewCommon(c, "AddFileGroup")

	// 生成登录态
	Service := content.NewFileGroupService(com)
	result := Service.AddFileGroup(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 后台文件分组
// @summary 后台文件分组配置
// @Description 后台文件分组管理列表配置项
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /Menu/MenuConfig [get]
func FileGroupConfig(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "GetFileGroupConfig")

	// 生成service
	Service := content.NewFileGroupService(com)
	result := Service.GetConfig(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 后台文件分组管理
// @summary 删除文件分组
// @Description 后台文件分组管理--删除文件分组
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /Menu/Save [get]
func Delete(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "PostSave")

	// 生成service
	Service := content.NewFileGroupService(com)
	result := Service.Delete(c)

	// 返回
	c.JSON(http.StatusOK, result)
}
